package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"mvip-route/config"
	"mvip-route/control"
	"mvip-route/routers"
	tasks "mvip-route/task"
	"mvip-route/utils"
)

func main() {

	// 创建默认的路由引擎
	domain := "account.gxgd.ink"
	pingTask := tasks.NewPingTask(domain)
	pingTask.Start()
	router := gin.Default()
	dameRedContr := &control.DameRedContr{}
	damDomainContr := &control.DamDomainIpContr{}
	//加载模板 放在配置路由前面
	win := utils.HasLinux()
	if win {
		tempPath := config.Config.ServerConfig.TempPath
		//router.LoadHTMLGlob("/www/GO/dam/templates/**/*")
		router.LoadHTMLGlob(tempPath)
	} else {
		router.LoadHTMLGlob("templates/**/*")
	}

	router.StaticFile("/favicon.ico", "./static/favicon.ico")
	// 提供 ./static/ 目录下的文件为静态资源
	router.Static("/static", "./static")

	// 使用跨域
	router.Use(config.Cors())

	// 使用默认路由
	routers.DefaultRoutersInit(router, dameRedContr, damDomainContr)

	// todo 定时检测域名池中的域名是否有被封

	// 启动服务器监听端口
	port := config.Config.ServerConfig.Port
	err := router.Run(fmt.Sprintf(":%d", port))
	if err != nil {
		println("启动失败", err.Error())
		return
	}
}
